package com.pxst.fx.service;

import com.pxst.fx.entity.SysFxOrderChildEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pxst.fx.entity.SysFxOrderChildExcelModel;
import com.pxst.fx.entity.SysFxOrderExcelModel;
import com.pxst.fx.req.SysFxOrderChildInfoReq;
import com.pxst.fx.req.SysFxOrderChildReq;
import com.pxst.fx.req.SysFxOrderChildRetryReq;
import com.pxst.fx.req.SysFxOrderChildStatusReq;
import com.pxst.fx.resp.SysFxOrderChildResp;
import com.pxst.resp.ApiResp;
import com.pxst.resp.PageResp;
import icu.mhb.mybatisplus.plugln.base.service.JoinIService;

import java.util.List;

/**
* @author notch
* @description 针对表【sys_fx_order_child(Settlement_子下发订单)】的数据库操作Service
* @createDate 2023-10-12 16:23:39
*/
public interface SysFxOrderChildService extends JoinIService<SysFxOrderChildEntity> {


    /**
     * 子下发分页查询
     * @param sysFxOrderEntityReq
     * @return
     */
    ApiResp<PageResp<SysFxOrderChildResp>> getSysFxOrderChildList(SysFxOrderChildReq sysFxOrderEntityReq);


    /**
     * 子下发汇出报表
     * @param sysFxOrderEntityReq
     * @return
     */
    List<SysFxOrderChildExcelModel> download(SysFxOrderChildReq sysFxOrderEntityReq);

    /**
     * 新增子下发
     * @param sysFxOrderChildInfoReq
     * @return
     */
    ApiResp create(SysFxOrderChildInfoReq sysFxOrderChildInfoReq);


    /**
     * 修改子下发状态
     * @param sysFxOrderChildStatusReq
     * @return
     */
    ApiResp updateStatus(SysFxOrderChildStatusReq sysFxOrderChildStatusReq);

    /**
     * 子下发确认按钮
     * @param id
     * @return
     */
    ApiResp check(Long id);

    /**
     * 子下发刷新按钮
     * @param id
     * @return
     */
    ApiResp runMon(Long id);


    /**
     * 子下发重试按钮
     * @param sysFxOrderChildRetryReq
     * @return
     */
    ApiResp retry(SysFxOrderChildRetryReq sysFxOrderChildRetryReq);
}
